Make Negative's arbitrary instance work like that of Positive #377
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently
Negative
andPositive
havearbitrary
instances which are inconsistent with each other.Positive
generates an arbitrary, takes its absolute value, and checks that it is greater than 0; whileNegative
just checks the value is less than zero.One would expect that the instance would behave like:
however, because of the differences in the implementations, it does not.
This MR would make the two have consistent behavior by adjusting
Negative
's arbitrary instance to have parity withPositive
's instance.The alternative could be done, adjusting
Positive
's instance to match that ofNegative
, but I chose to adjust it this way since the definition of arbitrary forPositive
rejects fewer values.